﻿using CloudDiamonds.Models.DBModels;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;

namespace CloudDiamonds.Models.Manager.User
{
    public class InventoryResult : Inventory
    {
        private decimal? _sourceDiscountReturn;
        private decimal? _discountReturn;
        private decimal? _sourceDolarPerGrain;
        private decimal? _rMBPerGrain;
        private decimal? _rMBPerCarat;
        private decimal? _dolarPerGrain;
        private decimal? _dolarPerCarat;
        private decimal? _uSDPerCarat;
        private decimal? _uSDPerGrain;

        /// <summary>
        /// 原退点.
        /// </summary>
        public decimal? SourceDiscountReturn
        {
            get
            {
                if (_sourceDiscountReturn == null)
                    this._sourceDiscountReturn = 0;
                return _sourceDiscountReturn;
            }
            set
            {
                this.ChangeNotify<decimal?>("SourceDiscountReturn", value, ref _sourceDiscountReturn);
            }
        }

        /// <summary>
        /// 退点.
        /// </summary>
        public decimal? DiscountReturn
        {
            get
            {
                if (_discountReturn == null)
                    this._discountReturn = 0;
                return _discountReturn;
            }
            set
            {
                this.ChangeNotify<decimal?>("DiscountReturn", value, ref _discountReturn);
            }
        }


        /// <summary>
        /// 原单粒价$
        /// </summary>
        public decimal? SourceDolarPerGrain
        {
            get
            {
                if (_sourceDolarPerGrain == null)
                    this._sourceDolarPerGrain = 0;
                return _sourceDolarPerGrain;
            }
            set
            {
                this.ChangeNotify<decimal?>("SourceDolarPerGrain", value, ref _sourceDolarPerGrain);
            }
        }

        /// <summary>
        /// 源 美金USD/卡
        /// </summary>
        public decimal? SourceDolarPerCarat { get; set; }


        public decimal? DolarPerGrain
        {
            get
            {
                if (_dolarPerGrain == null)
                    this._dolarPerGrain = 0;
                return _dolarPerGrain;
            }
            set
            {
                this.ChangeNotify<decimal?>("DolarPerGrain", value, ref _dolarPerGrain);
            }
        }

        public decimal? DolarPerCarat
        {
            get
            {
                if (_dolarPerCarat == null)
                    this._dolarPerCarat = 0;
                return _dolarPerCarat;
            }
            set
            {
                this.ChangeNotify<decimal?>("DolarPerCarat", value, ref _dolarPerCarat);
            }
        }

        /// <summary>
        /// RMB/粒
        /// </summary>
        public decimal? RMBPerGrain
        {
            get
            {
                if (_rMBPerGrain == null)
                    this._rMBPerGrain = 0;
                return _rMBPerGrain;
            }
            set
            {
                this.ChangeNotify<decimal?>("RMBPerGrain", value, ref _rMBPerGrain);
            }
        }

        /// <summary>
        /// RMB/Ct.
        /// </summary>
        public decimal? RMBPerCarat
        {
            get
            {
                if (_rMBPerCarat == null)
                    this._rMBPerCarat = 0;
                return _rMBPerCarat;
            }
            set
            {
                this.ChangeNotify<decimal?>("RMBPerCarat", value, ref _rMBPerCarat);
            }
        }
        /// <summary>
        /// USD/Ct.
        /// </summary>
        public decimal? USDPerCarat
        {
            get
            {
                return _uSDPerCarat;
            }
            set
            {
                this.ChangeNotify<decimal?>("USDPerCarat", value, ref _uSDPerCarat);
            }
        }
        /// <summary>
        /// USD/Grain.
        /// </summary>
        public decimal? USDPerGrain
        {
            get
            {
                return _uSDPerGrain;
            }
            set
            {
                this.ChangeNotify<decimal?>("USDPerGrain", value, ref _uSDPerGrain);
            }
        }
    }
}
